package com.delio.server.pagos.tablasbasicas;

import java.sql.SQLException;
import java.util.List;

import com.delio.client.pagos.tablasbasicas.Tipo;
import com.delio.server.base.Conexion;
import com.ibatis.sqlmap.client.SqlMapClient;

public class Tipos {
	private static SqlMapClient sqlMap = null;
	public  static Integer errorTipo=0;//correcto

	public static boolean save(Tipo ti) {
		sqlMap = Conexion.getSqlMap();
		
		
		boolean respuesta = true;
		try {
			Integer cargo = (Integer) sqlMap.queryForObject("validarCargo", ti);
			if (cargo == 0) {
				if (ti.getId() != null)
					sqlMap.insert("updateCargo", ti);
				else
					sqlMap.insert("insertCargo", ti);
				
			
			}else{
                errorTipo=1;//nombre duplicado				
				respuesta=false;
			}

		} catch (SQLException e) {
			e.printStackTrace();
			errorTipo=2;//error de conexion
			return false;
		}

		return respuesta;
	}

	public static boolean delete(Integer id) {
		sqlMap = Conexion.getSqlMap();
		boolean respuesta = true;
		try {
			if (id != null)
				sqlMap.delete("deleteCargo", id);
			else
				respuesta = true;

		} catch (SQLException e) {
			e.printStackTrace();
			respuesta = false;
		}

		return respuesta;

	}

	public static boolean deleteAll(String ids) {
		sqlMap = Conexion.getSqlMap();
		boolean respuesta = true;
		try {
			if (ids != null)
				sqlMap.delete("deleteCargos", ids);
			else
				respuesta = false;

		} catch (SQLException e) {
			e.printStackTrace();
			respuesta = false;
		}
		return respuesta;
	}

	@SuppressWarnings("unchecked")
	public static List<Tipo> getLista(String xml) {
		sqlMap = Conexion.getSqlMap();
		List<Tipo> data = null;
		try {
			
			data = sqlMap.queryForList(xml);

		} catch (SQLException e) {

			e.printStackTrace();
			return null;
		}
		return data;
	}

}
